<?php

class contSignCt extends commController
{
    private $aCss = array(
        'name' => 'sign',
        'file_list' => array()
    );
    
    private $aJs = array(
        'name' => 'sign',
        'file_list' => array()
    );
    
    public function signin()
    {
        commViewer::_css($this->aCss);
        commViewer::_js($this->aJs);
    
        // layout 비활성
        //$this->sTopLayoutView = false;
        //$this->sFooterLayoutView = false;
        
        $aParam = $this->params;
        
        $sErrMsg = '';
        if ($aParam['mode'] == 'act') {
            if (empty($aParam['user_id']) === false && empty($aParam['user_pwd']) === false) {
                $aUserInfo = m('user_info')->getInfoBySignin($aParam['user_id'], $aParam['user_pwd']);
                if (empty($aUserInfo)) {
                    $sErrMsg = '아이디, 비밀번호가 일치 하지 않습니다.';
                } else {
                    $sErrMsg = '로그인 성공!!';
                    
                    if ($this->actSignin($aUserInfo) === false) {
                        $sErrMsg = '잘못되었습니다. 다시 시도해 주세요.';
                    }
                }
                
            } else {
                if (empty($aParam['user_id'])) {
                    $sErrMsg = '아이디를 입력해 주세요.';
                }
                if (empty($aParam['user_pwd'])) {
                    $sErrMsg = '비밀번호를 입력해 주세요.';
                }
            }
        }
    
        $aAssignData = array(
            'sErrMsg' => $sErrMsg
        );
    
        // display view
        $this->view('/cont/signin.html', $aAssignData);
    }
    
    /**
     *
     * 로그아웃
     */
    public function signout()
    {
        commSession::session_destroy();
        utilMust::locationReplace('/');
    }
    
    /**
     *
     * 로그인 처리
     */
    private function actSignin($aUserInfo)
    {
        // 임시 로그인
        $returnUrl = '/';
        
        if (empty($aUserInfo)) {
            return false;
        }
    
        /*
        if ($this->params['user_id'] == 'gudals' || $this->params['user_id'] == 'admin') {
            $aLoginInfo = array(
                'sNo' => 1,
                'sId' => 'gudals',
                'sType' => 'N',
                'sLevel' => 1,
                'sServiceNum' => $this->params['service_num'],
                'sName' => '김형민'
            );
    
            $returnUrl = '/cont/';
        }
        */
        
        $aLoginInfo = array(
            'sUserNum' => $aUserInfo['user_num'],
            'sUserId' => $aUserInfo['user_id'],
            'sUserName' => $aUserInfo['user_name'],
            'sUserPhoto' => $aUserInfo['user_photo']
        );
    
        foreach ($aLoginInfo as $key => $val) {
            commSession::session_register($key, $val);
        }
        commSession::register();
    
        // return url 페이지 전환
        utilMust::locationReplace($returnUrl);
    
        //header("location: ".$returnUrl);
    
        // 아이디 비번을 체크
    }
    
    public function signup()
    {
        commViewer::_css($this->aCss);
        commViewer::_js($this->aJs);
    
        // layout 비활성
        //$this->sTopLayoutView = false;
        //$this->sFooterLayoutView = false;
    
        $aParam = $this->params;
    
        if ($aParam['mode'] == 'act') {
            $aErrInfo = array();
            if (empty($aParam['user_id'])) {
                $aErrInfo['id'] = '아이디를 입력해 주세요.';
            }
    
            if (empty($aParam['user_name'])) {
                $aErrInfo['name'] = '닉네임를 입력해 주세요.';
            }
    
            if (empty($aParam['user_pwd'])) {
                $aErrInfo['pwd'] = '비밀번호를 입력해 주세요.';
            }
    
            if (empty($aParam['user_pwd']) === false && empty($aParam['user_pwd_check']) === false) {
                if ($aParam['user_pwd'] != $aParam['user_pwd_check']) {
                    $aErrInfo['pwd'] = '비밀번호를 정확히 입력해 주세요.';
                }
            }
    
            // 회원가입 성공
            if (empty($aErrInfo)) {
                $bResult = $this->actSignup();
                if ($bResult === false) {
                    $aErrInfo['msg'] = '정상적으로 등록되지 않았습니다. 다시 시도해 주세요.';
                } else {
                    utilMust::locationReplace('/cont/?c=sign&m=signin', '회원가입이 정상적으로 처리되었습니다.');
                }
            }
        }
    
        $aAssignData = array(
            'params' => $aParam,
            'aErrInfo' => $aErrInfo
        );
    
        // display view
        $this->view('/cont/signup.html', $aAssignData);
    }
    
    public function actSignup()
    {
        $bResult = m('user_info')->addUser($this->params);
        if (!$bResult) {
            return false;
        }
        
        return true;
    }
    
    public function setMember($aParam)
    {
        $bResult = m('user_info')->addUser($aParam);
    }
}